// 入口函数
$(function () {
    // 需求1  定义校验规则
    let form = layui.form
    //form对象中有一个方法 verify 专门定义规则参数是对象类型，属性是规则名称，值是
    form.verify({
        nickname: [
            /^[\S]{1,10}$/
            , '昵称的长度为1-10个字符！'
        ]
    })
    // 需求2  渲染用户信息 封装成函数 ，后面要用
    initUserInfo()
    let layer = layui.layer
    function initUserInfo() {
        axios({
            method: 'GET',
            url: '/my/userinfo',
        }).then(res => {
            // console.log(res);
            // 判断
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }
            //根据官网 ， 为form表单赋值
            //内置模块-> 表单-> 表单赋值取值
            form.val('formUserInfo', res.data.data)
        })
    }
    // 需求3 重置功能
    // 方法1 点击事件
    $('#btnReset').on('click', function (e) {
        // 阻止表单重置行为
        e.preventDefault()
        // 重新渲染表单
        initUserInfo()
    })
    // // 方法2 form表单重置事件 两者作用一样
    // $('form').on('reset',function(e){
    //      // 阻止表单重置行为
    //      e.preventDefault()
    //      // 重新渲染表单
    //      initUserInfo()
    // })
    // 需求4  修改用户信息
    $('form').on('submit', function (e) {
        e.preventDefault()
        // 发送ajax
        axios({
            method: 'POST',
            url: '/my/userinfo',
            data: $(this).serialize()
        }).then(res => {
            // console.log(res);
            // 校验状态
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }
            layer.msg('恭喜您,修改用户信息成功！')
            // 直接调用无效 因为不是一个window
            window.parent.getUserInfo()
        })
        
    })













})